using System;
using System.Collections.Generic;
using NHibernate.Expression;

namespace CosyTrade.Distribution
{
    public interface IRegionManager
    {
        void CreateRegion(RegionBase regionBase);
        void UpdateRegion(RegionBase regionBase, Guid oldParent);
        void DeleteRegion(Guid deleteKey);

        IList<RegionBase> GetRegionRoot();
        Region GetRegionDetail(Guid primaryKey);
        RegionBase GetRegionBase(Guid primaryKey);
        IList<RegionBase> GetRegionByCriterion(ICriterion criterion);
    }
}